int zero() { return 0; }

struct S {
    int (*zerofunc)();
} s = {&zero};

struct S* anon() {
    return &s;
}

typedef struct S* (*fty)();

fty go() { return &anon; }

int main() { return go()()->zerofunc(); }
